package model

// SysMenu 菜单表结构
type SysMenu struct {
	ID        uint   `gorm:"primarykey"`
	Name      string `gorm:"type:varchar(50)"`  // 菜单名称
	Path      string `gorm:"type:varchar(100)"` // 路由地址
	Component string `gorm:"type:varchar(100)"` // 组件路径
	Sort      int    `gorm:"type:int"`          // 排序
	ParentId  int    `gorm:"type:int"`          // 父菜单ID
	Icon      string `gorm:"type:varchar(50)"`  // 图标
	Hidden    bool   `gorm:"type:boolean"`      // 是否隐藏
}

// TableName 设置表名
func (SysMenu) TableName() string {
	return "sys_menus"
}

// GetInitData 获取初始化数据
func (SysMenu) GetInitData() []SysMenu {
	return []SysMenu{
		{
			Name:      "系统管理",
			Path:      "/system",
			Component: "Layout",
			Sort:      1,
			ParentId:  0,
			Icon:      "system",
			Hidden:    false,
		},
		{
			Name:      "用户管理",
			Path:      "user",
			Component: "system/user/index",
			Sort:      1,
			ParentId:  1,
			Icon:      "user",
			Hidden:    false,
		},
		{
			Name:      "菜单管理",
			Path:      "menu",
			Component: "system/menu/index",
			Sort:      2,
			ParentId:  1,
			Icon:      "menu",
			Hidden:    false,
		},
	}
}
